TPTP Problem File: ITP150^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP150^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Polynomial_Expression problem prob_1319__8380132_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Polynomial_Expression/prob_1319__8380132_1 [Des21]

% Status   : Theorem
% Rating   : 0.40 v8.2.0, 0.38 v8.1.0, 0.27 v7.5.0
% Syntax   : Number of formulae    :  426 ( 287 unt;  70 typ;   0 def)
%            Number of atoms       :  681 ( 579 equ;   0 cnn)
%            Maximal formula atoms :   17 (   1 avg)
%            Number of connectives : 2320 (  91   ~;  21   |;  28   &;2044   @)
%                                         (   0 <=>; 136  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   4 avg)
%            Number of types       :    7 (   6 usr)
%            Number of type conns  :  111 ( 111   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   67 (  64 usr;  10 con; 0-3 aty)
%            Number of variables   :  939 (  53   ^; 864   !;  22   ?; 939   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:33:11.258
%------------------------------------------------------------------------------
% Could-be-implicit typings (6)
thf(ty_n_t__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_It__Nat__Onat_J,type,
    polyno1532895200ly_nat: $tType ).

thf(ty_n_t__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_Itf__a_J,type,
    polyno727731844poly_a: $tType ).

thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
    list_nat: $tType ).

thf(ty_n_t__List__Olist_Itf__a_J,type,
    list_a: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (64)
thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oone__class_Oone_001tf__a,type,
    one_one_a: a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001tf__a,type,
    plus_plus_a: a > a > a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat,type,
    times_times_nat: nat > nat > nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001tf__a,type,
    times_times_a: a > a > a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001tf__a,type,
    zero_zero_a: a ).

thf(sy_c_If_001t__Nat__Onat,type,
    if_nat: $o > nat > nat > nat ).

thf(sy_c_Nat_Ocompow_001_062_It__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_It__Nat__Onat_J_Mt__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_It__Nat__Onat_J_J,type,
    compow808008746ly_nat: nat > ( polyno1532895200ly_nat > polyno1532895200ly_nat ) > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Nat_Ocompow_001_062_It__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_Itf__a_J_Mt__Polynomial____Expression____Mirabelle____dwjuveeage__Opoly_Itf__a_J_J,type,
    compow1114216044poly_a: nat > ( polyno727731844poly_a > polyno727731844poly_a ) > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_OIpoly_001tf__a,type,
    polyno422358502poly_a: list_a > polyno727731844poly_a > a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Obehead_001t__Nat__Onat,type,
    polyno587244178ad_nat: polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Obehead_001tf__a,type,
    polyno1465139388head_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Odegree_001t__Nat__Onat,type,
    polyno220183259ee_nat: polyno1532895200ly_nat > nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Odegree_001tf__a,type,
    polyno578545843gree_a: polyno727731844poly_a > nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Odegreen_001t__Nat__Onat,type,
    polyno1779722485en_nat: polyno1532895200ly_nat > nat > nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Odegreen_001tf__a,type,
    polyno1674775833reen_a: polyno727731844poly_a > nat > nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Ohead_001t__Nat__Onat,type,
    polyno1952548879ad_nat: polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Ohead_001tf__a,type,
    polyno1884029055head_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oheadconst_001t__Nat__Onat,type,
    polyno524777654st_nat: polyno1532895200ly_nat > nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oheadconst_001tf__a,type,
    polyno2115742616onst_a: polyno727731844poly_a > a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oheadn_001t__Nat__Onat,type,
    polyno544860353dn_nat: polyno1532895200ly_nat > nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oheadn_001tf__a,type,
    polyno567601229eadn_a: polyno727731844poly_a > nat > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oisnpoly_001t__Nat__Onat,type,
    polyno1013235523ly_nat: polyno1532895200ly_nat > $o ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oisnpoly_001tf__a,type,
    polyno190918219poly_a: polyno727731844poly_a > $o ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oisnpolyh_001t__Nat__Onat,type,
    polyno892049031yh_nat: polyno1532895200ly_nat > nat > $o ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oisnpolyh_001tf__a,type,
    polyno1372495879olyh_a: polyno727731844poly_a > nat > $o ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OAdd_001t__Nat__Onat,type,
    polyno1222032024dd_nat: polyno1532895200ly_nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OAdd_001tf__a,type,
    polyno1623170614_Add_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OBound_001t__Nat__Onat,type,
    polyno1999838549nd_nat: nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OBound_001tf__a,type,
    polyno2024845497ound_a: nat > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OCN_001t__Nat__Onat,type,
    polyno720942678CN_nat: polyno1532895200ly_nat > nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OCN_001tf__a,type,
    polyno1057396216e_CN_a: polyno727731844poly_a > nat > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OC_001t__Nat__Onat,type,
    polyno2122022170_C_nat: nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OC_001tf__a,type,
    polyno439679028le_C_a: a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OMul_001t__Nat__Onat,type,
    polyno1415441627ul_nat: polyno1532895200ly_nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OMul_001tf__a,type,
    polyno1491482291_Mul_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_ONeg_001t__Nat__Onat,type,
    polyno1366804583eg_nat: polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_ONeg_001tf__a,type,
    polyno96675367_Neg_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OPw_001t__Nat__Onat,type,
    polyno359287218Pw_nat: polyno1532895200ly_nat > nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OPw_001tf__a,type,
    polyno1538138524e_Pw_a: polyno727731844poly_a > nat > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OSub_001t__Nat__Onat,type,
    polyno1921014231ub_nat: polyno1532895200ly_nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly_OSub_001tf__a,type,
    polyno975704247_Sub_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly__cmul_001t__Nat__Onat,type,
    polyno1467023772ul_nat: nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly__cmul_001tf__a,type,
    polyno562434098cmul_a: a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly__deriv_001tf__a,type,
    polyno212464073eriv_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opoly__deriv__aux_001tf__a,type,
    polyno1006823949_aux_a: a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolymul_001t__Nat__Onat,type,
    polyno929799083ul_nat: polyno1532895200ly_nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolymul_001tf__a,type,
    polyno1934269411ymul_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolynate_001tf__a,type,
    polyno955999183nate_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolypow_001t__Nat__Onat,type,
    polyno1510045887ow_nat: nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolypow_001tf__a,type,
    polyno1371724751ypow_a: nat > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolysub_001tf__a,type,
    polyno1418491367ysub_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolysubst0_001t__Nat__Onat,type,
    polyno336795754t0_nat: polyno1532895200ly_nat > polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Opolysubst0_001tf__a,type,
    polyno1397854436bst0_a: polyno727731844poly_a > polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oshift1_001t__Nat__Onat,type,
    polyno1964927358t1_nat: polyno1532895200ly_nat > polyno1532895200ly_nat ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Oshift1_001tf__a,type,
    polyno784948432ift1_a: polyno727731844poly_a > polyno727731844poly_a ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Owf__bs_001t__Nat__Onat,type,
    polyno1438831695bs_nat: list_nat > polyno1532895200ly_nat > $o ).

thf(sy_c_Polynomial__Expression__Mirabelle__dwjuveeage_Owf__bs_001tf__a,type,
    polyno896877631f_bs_a: list_a > polyno727731844poly_a > $o ).

thf(sy_v_n0,type,
    n0: nat ).

thf(sy_v_n1,type,
    n1: nat ).

thf(sy_v_p,type,
    p: polyno727731844poly_a ).

thf(sy_v_q,type,
    q: polyno727731844poly_a ).

% Relevant facts (352)
thf(fact_0__092_060open_062_I_092_060forall_062bs_O_AIpoly_Abs_A_Ip_A_K_092_060_094sub_062p_Aq_J_A_061_AIpoly_Abs_A_Iq_A_K_092_060_094sub_062p_Ap_J_J_A_061_A_Ip_A_K_092_060_094sub_062p_Aq_A_061_Aq_A_K_092_060_094sub_062p_Ap_J_092_060close_062,axiom,
    ( ( ! [Bs: list_a] :
          ( ( polyno422358502poly_a @ Bs @ ( polyno1934269411ymul_a @ p @ q ) )
          = ( polyno422358502poly_a @ Bs @ ( polyno1934269411ymul_a @ q @ p ) ) ) )
    = ( ( polyno1934269411ymul_a @ p @ q )
      = ( polyno1934269411ymul_a @ q @ p ) ) ) ).

% \<open>(\<forall>bs. Ipoly bs (p *\<^sub>p q) = Ipoly bs (q *\<^sub>p p)) = (p *\<^sub>p q = q *\<^sub>p p)\<close>
thf(fact_1_np,axiom,
    polyno1372495879olyh_a @ p @ n0 ).

% np
thf(fact_2_nq,axiom,
    polyno1372495879olyh_a @ q @ n1 ).

% nq
thf(fact_3_polymul__norm,axiom,
    ! [P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno190918219poly_a @ P )
     => ( ( polyno190918219poly_a @ Q )
       => ( polyno190918219poly_a @ ( polyno1934269411ymul_a @ P @ Q ) ) ) ) ).

% polymul_norm
thf(fact_4_wf__bs__polyul,axiom,
    ! [Bs2: list_nat,P: polyno1532895200ly_nat,Q: polyno1532895200ly_nat] :
      ( ( polyno1438831695bs_nat @ Bs2 @ P )
     => ( ( polyno1438831695bs_nat @ Bs2 @ Q )
       => ( polyno1438831695bs_nat @ Bs2 @ ( polyno929799083ul_nat @ P @ Q ) ) ) ) ).

% wf_bs_polyul
thf(fact_5_wf__bs__polyul,axiom,
    ! [Bs2: list_a,P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno896877631f_bs_a @ Bs2 @ P )
     => ( ( polyno896877631f_bs_a @ Bs2 @ Q )
       => ( polyno896877631f_bs_a @ Bs2 @ ( polyno1934269411ymul_a @ P @ Q ) ) ) ) ).

% wf_bs_polyul
thf(fact_6_polymul_Osimps_I20_J,axiom,
    ! [A: polyno1532895200ly_nat,V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ A @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( polyno1415441627ul_nat @ A @ ( polyno1415441627ul_nat @ V @ Va ) ) ) ).

% polymul.simps(20)
thf(fact_7_polymul_Osimps_I20_J,axiom,
    ! [A: polyno727731844poly_a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ A @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno1491482291_Mul_a @ A @ ( polyno1491482291_Mul_a @ V @ Va ) ) ) ).

% polymul.simps(20)
thf(fact_8_polymul_Osimps_I8_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat,B: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1415441627ul_nat @ V @ Va ) @ B )
      = ( polyno1415441627ul_nat @ ( polyno1415441627ul_nat @ V @ Va ) @ B ) ) ).

% polymul.simps(8)
thf(fact_9_polymul_Osimps_I8_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1491482291_Mul_a @ V @ Va ) @ B )
      = ( polyno1491482291_Mul_a @ ( polyno1491482291_Mul_a @ V @ Va ) @ B ) ) ).

% polymul.simps(8)
thf(fact_10_polymul,axiom,
    ! [Bs2: list_a,P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno1934269411ymul_a @ P @ Q ) )
      = ( times_times_a @ ( polyno422358502poly_a @ Bs2 @ P ) @ ( polyno422358502poly_a @ Bs2 @ Q ) ) ) ).

% polymul
thf(fact_11_polymul_Osimps_I1_J,axiom,
    ! [C: nat,C2: nat] :
      ( ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ C ) @ ( polyno2122022170_C_nat @ C2 ) )
      = ( polyno2122022170_C_nat @ ( times_times_nat @ C @ C2 ) ) ) ).

% polymul.simps(1)
thf(fact_12_polymul_Osimps_I1_J,axiom,
    ! [C: a,C2: a] :
      ( ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ C ) @ ( polyno439679028le_C_a @ C2 ) )
      = ( polyno439679028le_C_a @ ( times_times_a @ C @ C2 ) ) ) ).

% polymul.simps(1)
thf(fact_13_polynate_Osimps_I4_J,axiom,
    ! [P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno955999183nate_a @ ( polyno1491482291_Mul_a @ P @ Q ) )
      = ( polyno1934269411ymul_a @ ( polyno955999183nate_a @ P ) @ ( polyno955999183nate_a @ Q ) ) ) ).

% polynate.simps(4)
thf(fact_14_polymul_Osimps_I26_J,axiom,
    ! [Vc: polyno1532895200ly_nat,Vd: polyno1532895200ly_nat,V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1415441627ul_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) )
      = ( polyno1415441627ul_nat @ ( polyno1415441627ul_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) ) ) ).

% polymul.simps(26)
thf(fact_15_polymul_Osimps_I26_J,axiom,
    ! [Vc: polyno727731844poly_a,Vd: polyno727731844poly_a,V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1491482291_Mul_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) )
      = ( polyno1491482291_Mul_a @ ( polyno1491482291_Mul_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) ) ) ).

% polymul.simps(26)
thf(fact_16_polymul_Osimps_I14_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat,Vc: polyno1532895200ly_nat,Vd: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1415441627ul_nat @ Vc @ Vd ) )
      = ( polyno1415441627ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1415441627ul_nat @ Vc @ Vd ) ) ) ).

% polymul.simps(14)
thf(fact_17_polymul_Osimps_I14_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a,Vc: polyno727731844poly_a,Vd: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1491482291_Mul_a @ Vc @ Vd ) )
      = ( polyno1491482291_Mul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1491482291_Mul_a @ Vc @ Vd ) ) ) ).

% polymul.simps(14)
thf(fact_18_polymul_Osimps_I18_J,axiom,
    ! [A: polyno1532895200ly_nat,V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ A @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( polyno1415441627ul_nat @ A @ ( polyno1222032024dd_nat @ V @ Va ) ) ) ).

% polymul.simps(18)
thf(fact_19_polymul_Osimps_I18_J,axiom,
    ! [A: polyno727731844poly_a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ A @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( polyno1491482291_Mul_a @ A @ ( polyno1623170614_Add_a @ V @ Va ) ) ) ).

% polymul.simps(18)
thf(fact_20_poly_Oinject_I8_J,axiom,
    ! [X81: polyno727731844poly_a,X82: nat,X83: polyno727731844poly_a,Y81: polyno727731844poly_a,Y82: nat,Y83: polyno727731844poly_a] :
      ( ( ( polyno1057396216e_CN_a @ X81 @ X82 @ X83 )
        = ( polyno1057396216e_CN_a @ Y81 @ Y82 @ Y83 ) )
      = ( ( X81 = Y81 )
        & ( X82 = Y82 )
        & ( X83 = Y83 ) ) ) ).

% poly.inject(8)
thf(fact_21_poly_Oinject_I8_J,axiom,
    ! [X81: polyno1532895200ly_nat,X82: nat,X83: polyno1532895200ly_nat,Y81: polyno1532895200ly_nat,Y82: nat,Y83: polyno1532895200ly_nat] :
      ( ( ( polyno720942678CN_nat @ X81 @ X82 @ X83 )
        = ( polyno720942678CN_nat @ Y81 @ Y82 @ Y83 ) )
      = ( ( X81 = Y81 )
        & ( X82 = Y82 )
        & ( X83 = Y83 ) ) ) ).

% poly.inject(8)
thf(fact_22_poly_Oinject_I1_J,axiom,
    ! [X1: a,Y1: a] :
      ( ( ( polyno439679028le_C_a @ X1 )
        = ( polyno439679028le_C_a @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% poly.inject(1)
thf(fact_23_poly_Oinject_I1_J,axiom,
    ! [X1: nat,Y1: nat] :
      ( ( ( polyno2122022170_C_nat @ X1 )
        = ( polyno2122022170_C_nat @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% poly.inject(1)
thf(fact_24_poly_Oinject_I5_J,axiom,
    ! [X51: polyno1532895200ly_nat,X52: polyno1532895200ly_nat,Y51: polyno1532895200ly_nat,Y52: polyno1532895200ly_nat] :
      ( ( ( polyno1415441627ul_nat @ X51 @ X52 )
        = ( polyno1415441627ul_nat @ Y51 @ Y52 ) )
      = ( ( X51 = Y51 )
        & ( X52 = Y52 ) ) ) ).

% poly.inject(5)
thf(fact_25_poly_Oinject_I5_J,axiom,
    ! [X51: polyno727731844poly_a,X52: polyno727731844poly_a,Y51: polyno727731844poly_a,Y52: polyno727731844poly_a] :
      ( ( ( polyno1491482291_Mul_a @ X51 @ X52 )
        = ( polyno1491482291_Mul_a @ Y51 @ Y52 ) )
      = ( ( X51 = Y51 )
        & ( X52 = Y52 ) ) ) ).

% poly.inject(5)
thf(fact_26_poly_Oinject_I3_J,axiom,
    ! [X31: polyno727731844poly_a,X32: polyno727731844poly_a,Y31: polyno727731844poly_a,Y32: polyno727731844poly_a] :
      ( ( ( polyno1623170614_Add_a @ X31 @ X32 )
        = ( polyno1623170614_Add_a @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% poly.inject(3)
thf(fact_27_poly_Oinject_I3_J,axiom,
    ! [X31: polyno1532895200ly_nat,X32: polyno1532895200ly_nat,Y31: polyno1532895200ly_nat,Y32: polyno1532895200ly_nat] :
      ( ( ( polyno1222032024dd_nat @ X31 @ X32 )
        = ( polyno1222032024dd_nat @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% poly.inject(3)
thf(fact_28_polynate,axiom,
    ! [Bs2: list_a,P: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno955999183nate_a @ P ) )
      = ( polyno422358502poly_a @ Bs2 @ P ) ) ).

% polynate
thf(fact_29_Ipoly_Osimps_I6_J,axiom,
    ! [Bs2: list_a,A: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno1491482291_Mul_a @ A @ B ) )
      = ( times_times_a @ ( polyno422358502poly_a @ Bs2 @ A ) @ ( polyno422358502poly_a @ Bs2 @ B ) ) ) ).

% Ipoly.simps(6)
thf(fact_30_Ipoly_Osimps_I1_J,axiom,
    ! [Bs2: list_a,C: a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno439679028le_C_a @ C ) )
      = C ) ).

% Ipoly.simps(1)
thf(fact_31_poly_Odistinct_I49_J,axiom,
    ! [X51: polyno1532895200ly_nat,X52: polyno1532895200ly_nat,X81: polyno1532895200ly_nat,X82: nat,X83: polyno1532895200ly_nat] :
      ( ( polyno1415441627ul_nat @ X51 @ X52 )
     != ( polyno720942678CN_nat @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(49)
thf(fact_32_poly_Odistinct_I49_J,axiom,
    ! [X51: polyno727731844poly_a,X52: polyno727731844poly_a,X81: polyno727731844poly_a,X82: nat,X83: polyno727731844poly_a] :
      ( ( polyno1491482291_Mul_a @ X51 @ X52 )
     != ( polyno1057396216e_CN_a @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(49)
thf(fact_33_poly_Odistinct_I35_J,axiom,
    ! [X31: polyno727731844poly_a,X32: polyno727731844poly_a,X81: polyno727731844poly_a,X82: nat,X83: polyno727731844poly_a] :
      ( ( polyno1623170614_Add_a @ X31 @ X32 )
     != ( polyno1057396216e_CN_a @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(35)
thf(fact_34_poly_Odistinct_I35_J,axiom,
    ! [X31: polyno1532895200ly_nat,X32: polyno1532895200ly_nat,X81: polyno1532895200ly_nat,X82: nat,X83: polyno1532895200ly_nat] :
      ( ( polyno1222032024dd_nat @ X31 @ X32 )
     != ( polyno720942678CN_nat @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(35)
thf(fact_35_poly_Odistinct_I29_J,axiom,
    ! [X31: polyno1532895200ly_nat,X32: polyno1532895200ly_nat,X51: polyno1532895200ly_nat,X52: polyno1532895200ly_nat] :
      ( ( polyno1222032024dd_nat @ X31 @ X32 )
     != ( polyno1415441627ul_nat @ X51 @ X52 ) ) ).

% poly.distinct(29)
thf(fact_36_poly_Odistinct_I29_J,axiom,
    ! [X31: polyno727731844poly_a,X32: polyno727731844poly_a,X51: polyno727731844poly_a,X52: polyno727731844poly_a] :
      ( ( polyno1623170614_Add_a @ X31 @ X32 )
     != ( polyno1491482291_Mul_a @ X51 @ X52 ) ) ).

% poly.distinct(29)
thf(fact_37_poly_Odistinct_I13_J,axiom,
    ! [X1: a,X81: polyno727731844poly_a,X82: nat,X83: polyno727731844poly_a] :
      ( ( polyno439679028le_C_a @ X1 )
     != ( polyno1057396216e_CN_a @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(13)
thf(fact_38_poly_Odistinct_I13_J,axiom,
    ! [X1: nat,X81: polyno1532895200ly_nat,X82: nat,X83: polyno1532895200ly_nat] :
      ( ( polyno2122022170_C_nat @ X1 )
     != ( polyno720942678CN_nat @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(13)
thf(fact_39_poly_Odistinct_I7_J,axiom,
    ! [X1: nat,X51: polyno1532895200ly_nat,X52: polyno1532895200ly_nat] :
      ( ( polyno2122022170_C_nat @ X1 )
     != ( polyno1415441627ul_nat @ X51 @ X52 ) ) ).

% poly.distinct(7)
thf(fact_40_poly_Odistinct_I7_J,axiom,
    ! [X1: a,X51: polyno727731844poly_a,X52: polyno727731844poly_a] :
      ( ( polyno439679028le_C_a @ X1 )
     != ( polyno1491482291_Mul_a @ X51 @ X52 ) ) ).

% poly.distinct(7)
thf(fact_41_poly_Odistinct_I3_J,axiom,
    ! [X1: a,X31: polyno727731844poly_a,X32: polyno727731844poly_a] :
      ( ( polyno439679028le_C_a @ X1 )
     != ( polyno1623170614_Add_a @ X31 @ X32 ) ) ).

% poly.distinct(3)
thf(fact_42_poly_Odistinct_I3_J,axiom,
    ! [X1: nat,X31: polyno1532895200ly_nat,X32: polyno1532895200ly_nat] :
      ( ( polyno2122022170_C_nat @ X1 )
     != ( polyno1222032024dd_nat @ X31 @ X32 ) ) ).

% poly.distinct(3)
thf(fact_43_polymul_Osimps_I24_J,axiom,
    ! [Vc: polyno1532895200ly_nat,Vd: polyno1532895200ly_nat,V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1222032024dd_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) )
      = ( polyno1415441627ul_nat @ ( polyno1222032024dd_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) ) ) ).

% polymul.simps(24)
thf(fact_44_polymul_Osimps_I24_J,axiom,
    ! [Vc: polyno727731844poly_a,Vd: polyno727731844poly_a,V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1623170614_Add_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) )
      = ( polyno1491482291_Mul_a @ ( polyno1623170614_Add_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) ) ) ).

% polymul.simps(24)
thf(fact_45_polymul_Osimps_I12_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat,Vc: polyno1532895200ly_nat,Vd: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1222032024dd_nat @ Vc @ Vd ) )
      = ( polyno1415441627ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1222032024dd_nat @ Vc @ Vd ) ) ) ).

% polymul.simps(12)
thf(fact_46_polymul_Osimps_I12_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a,Vc: polyno727731844poly_a,Vd: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1623170614_Add_a @ Vc @ Vd ) )
      = ( polyno1491482291_Mul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1623170614_Add_a @ Vc @ Vd ) ) ) ).

% polymul.simps(12)
thf(fact_47_isnpolyh_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno892049031yh_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(6)
thf(fact_48_isnpolyh_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1372495879olyh_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(6)
thf(fact_49_isnpolyh_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno892049031yh_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(4)
thf(fact_50_isnpolyh_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1372495879olyh_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(4)
thf(fact_51_isnpolyh_Osimps_I1_J,axiom,
    ! [C: nat] :
      ( ( polyno892049031yh_nat @ ( polyno2122022170_C_nat @ C ) )
      = ( ^ [K: nat] : $true ) ) ).

% isnpolyh.simps(1)
thf(fact_52_isnpolyh_Osimps_I1_J,axiom,
    ! [C: a] :
      ( ( polyno1372495879olyh_a @ ( polyno439679028le_C_a @ C ) )
      = ( ^ [K: nat] : $true ) ) ).

% isnpolyh.simps(1)
thf(fact_53_polynate_Osimps_I8_J,axiom,
    ! [C: a] :
      ( ( polyno955999183nate_a @ ( polyno439679028le_C_a @ C ) )
      = ( polyno439679028le_C_a @ C ) ) ).

% polynate.simps(8)
thf(fact_54_polynate__norm,axiom,
    ! [P: polyno727731844poly_a] : ( polyno190918219poly_a @ ( polyno955999183nate_a @ P ) ) ).

% polynate_norm
thf(fact_55_isnpolyh__unique,axiom,
    ! [P: polyno727731844poly_a,N0: nat,Q: polyno727731844poly_a,N1: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1372495879olyh_a @ Q @ N1 )
       => ( ( ! [Bs: list_a] :
                ( ( polyno422358502poly_a @ Bs @ P )
                = ( polyno422358502poly_a @ Bs @ Q ) ) )
          = ( P = Q ) ) ) ) ).

% isnpolyh_unique
thf(fact_56_polymul_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat,B: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1222032024dd_nat @ V @ Va ) @ B )
      = ( polyno1415441627ul_nat @ ( polyno1222032024dd_nat @ V @ Va ) @ B ) ) ).

% polymul.simps(6)
thf(fact_57_polymul_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1623170614_Add_a @ V @ Va ) @ B )
      = ( polyno1491482291_Mul_a @ ( polyno1623170614_Add_a @ V @ Va ) @ B ) ) ).

% polymul.simps(6)
thf(fact_58_isnpolyh__zero__iff,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ! [Bs3: list_a] :
            ( ( polyno896877631f_bs_a @ Bs3 @ P )
           => ( ( polyno422358502poly_a @ Bs3 @ P )
              = zero_zero_a ) )
       => ( P
          = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ).

% isnpolyh_zero_iff
thf(fact_59_poly__cmul,axiom,
    ! [Bs2: list_a,C: a,P: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno562434098cmul_a @ C @ P ) )
      = ( polyno422358502poly_a @ Bs2 @ ( polyno1491482291_Mul_a @ ( polyno439679028le_C_a @ C ) @ P ) ) ) ).

% poly_cmul
thf(fact_60_polymul__0_I2_J,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ zero_zero_a ) @ P )
        = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ).

% polymul_0(2)
thf(fact_61_polymul__0_I1_J,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1934269411ymul_a @ P @ ( polyno439679028le_C_a @ zero_zero_a ) )
        = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ).

% polymul_0(1)
thf(fact_62_polymul__1_I2_J,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ one_one_a ) @ P )
        = P ) ) ).

% polymul_1(2)
thf(fact_63_polymul__1_I1_J,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1934269411ymul_a @ P @ ( polyno439679028le_C_a @ one_one_a ) )
        = P ) ) ).

% polymul_1(1)
thf(fact_64_polynate_Osimps_I7_J,axiom,
    ! [C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a] :
      ( ( polyno955999183nate_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) )
      = ( polyno955999183nate_a @ ( polyno1623170614_Add_a @ C @ ( polyno1491482291_Mul_a @ ( polyno2024845497ound_a @ N ) @ P ) ) ) ) ).

% polynate.simps(7)
thf(fact_65_polymul__eq0__iff,axiom,
    ! [P: polyno727731844poly_a,N0: nat,Q: polyno727731844poly_a,N1: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1372495879olyh_a @ Q @ N1 )
       => ( ( ( polyno1934269411ymul_a @ P @ Q )
            = ( polyno439679028le_C_a @ zero_zero_a ) )
          = ( ( P
              = ( polyno439679028le_C_a @ zero_zero_a ) )
            | ( Q
              = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ) ) ).

% polymul_eq0_iff
thf(fact_66_poly__cmul_Osimps_I4_J,axiom,
    ! [Y: a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno1623170614_Add_a @ V @ Va ) ) ) ).

% poly_cmul.simps(4)
thf(fact_67_poly__cmul_Osimps_I4_J,axiom,
    ! [Y: nat,V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno1222032024dd_nat @ V @ Va ) ) ) ).

% poly_cmul.simps(4)
thf(fact_68_poly__cmul_Osimps_I6_J,axiom,
    ! [Y: nat,V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno1415441627ul_nat @ V @ Va ) ) ) ).

% poly_cmul.simps(6)
thf(fact_69_poly__cmul_Osimps_I6_J,axiom,
    ! [Y: a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno1491482291_Mul_a @ V @ Va ) ) ) ).

% poly_cmul.simps(6)
thf(fact_70_polymul_Osimps_I3_J,axiom,
    ! [C2: a,C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a] :
      ( ( ( C2 = zero_zero_a )
       => ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) @ ( polyno439679028le_C_a @ C2 ) )
          = ( polyno439679028le_C_a @ zero_zero_a ) ) )
      & ( ( C2 != zero_zero_a )
       => ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) @ ( polyno439679028le_C_a @ C2 ) )
          = ( polyno1057396216e_CN_a @ ( polyno1934269411ymul_a @ C @ ( polyno439679028le_C_a @ C2 ) ) @ N @ ( polyno1934269411ymul_a @ P @ ( polyno439679028le_C_a @ C2 ) ) ) ) ) ) ).

% polymul.simps(3)
thf(fact_71_polymul_Osimps_I3_J,axiom,
    ! [C2: nat,C: polyno1532895200ly_nat,N: nat,P: polyno1532895200ly_nat] :
      ( ( ( C2 = zero_zero_nat )
       => ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ C @ N @ P ) @ ( polyno2122022170_C_nat @ C2 ) )
          = ( polyno2122022170_C_nat @ zero_zero_nat ) ) )
      & ( ( C2 != zero_zero_nat )
       => ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ C @ N @ P ) @ ( polyno2122022170_C_nat @ C2 ) )
          = ( polyno720942678CN_nat @ ( polyno929799083ul_nat @ C @ ( polyno2122022170_C_nat @ C2 ) ) @ N @ ( polyno929799083ul_nat @ P @ ( polyno2122022170_C_nat @ C2 ) ) ) ) ) ) ).

% polymul.simps(3)
thf(fact_72_poly_Oinject_I2_J,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( polyno2024845497ound_a @ X2 )
        = ( polyno2024845497ound_a @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% poly.inject(2)
thf(fact_73_poly_Oinject_I2_J,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( polyno1999838549nd_nat @ X2 )
        = ( polyno1999838549nd_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% poly.inject(2)
thf(fact_74_polynate_Osimps_I1_J,axiom,
    ! [N: nat] :
      ( ( polyno955999183nate_a @ ( polyno2024845497ound_a @ N ) )
      = ( polyno1057396216e_CN_a @ ( polyno439679028le_C_a @ zero_zero_a ) @ N @ ( polyno439679028le_C_a @ one_one_a ) ) ) ).

% polynate.simps(1)
thf(fact_75_poly__cmul_Osimps_I3_J,axiom,
    ! [Y: a,V: nat] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno2024845497ound_a @ V ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno2024845497ound_a @ V ) ) ) ).

% poly_cmul.simps(3)
thf(fact_76_poly__cmul_Osimps_I3_J,axiom,
    ! [Y: nat,V: nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno1999838549nd_nat @ V ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno1999838549nd_nat @ V ) ) ) ).

% poly_cmul.simps(3)
thf(fact_77_poly_Odistinct_I25_J,axiom,
    ! [X2: nat,X81: polyno727731844poly_a,X82: nat,X83: polyno727731844poly_a] :
      ( ( polyno2024845497ound_a @ X2 )
     != ( polyno1057396216e_CN_a @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(25)
thf(fact_78_poly_Odistinct_I25_J,axiom,
    ! [X2: nat,X81: polyno1532895200ly_nat,X82: nat,X83: polyno1532895200ly_nat] :
      ( ( polyno1999838549nd_nat @ X2 )
     != ( polyno720942678CN_nat @ X81 @ X82 @ X83 ) ) ).

% poly.distinct(25)
thf(fact_79_poly_Odistinct_I1_J,axiom,
    ! [X1: a,X2: nat] :
      ( ( polyno439679028le_C_a @ X1 )
     != ( polyno2024845497ound_a @ X2 ) ) ).

% poly.distinct(1)
thf(fact_80_poly_Odistinct_I1_J,axiom,
    ! [X1: nat,X2: nat] :
      ( ( polyno2122022170_C_nat @ X1 )
     != ( polyno1999838549nd_nat @ X2 ) ) ).

% poly.distinct(1)
thf(fact_81_poly_Odistinct_I19_J,axiom,
    ! [X2: nat,X51: polyno1532895200ly_nat,X52: polyno1532895200ly_nat] :
      ( ( polyno1999838549nd_nat @ X2 )
     != ( polyno1415441627ul_nat @ X51 @ X52 ) ) ).

% poly.distinct(19)
thf(fact_82_poly_Odistinct_I19_J,axiom,
    ! [X2: nat,X51: polyno727731844poly_a,X52: polyno727731844poly_a] :
      ( ( polyno2024845497ound_a @ X2 )
     != ( polyno1491482291_Mul_a @ X51 @ X52 ) ) ).

% poly.distinct(19)
thf(fact_83_poly_Odistinct_I15_J,axiom,
    ! [X2: nat,X31: polyno727731844poly_a,X32: polyno727731844poly_a] :
      ( ( polyno2024845497ound_a @ X2 )
     != ( polyno1623170614_Add_a @ X31 @ X32 ) ) ).

% poly.distinct(15)
thf(fact_84_poly_Odistinct_I15_J,axiom,
    ! [X2: nat,X31: polyno1532895200ly_nat,X32: polyno1532895200ly_nat] :
      ( ( polyno1999838549nd_nat @ X2 )
     != ( polyno1222032024dd_nat @ X31 @ X32 ) ) ).

% poly.distinct(15)
thf(fact_85_isnpolyh_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno892049031yh_nat @ ( polyno1999838549nd_nat @ V ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(3)
thf(fact_86_isnpolyh_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1372495879olyh_a @ ( polyno2024845497ound_a @ V ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(3)
thf(fact_87_poly__cmul_Osimps_I2_J,axiom,
    ! [Y: a,C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno1057396216e_CN_a @ C @ N @ P ) )
      = ( polyno1057396216e_CN_a @ ( polyno562434098cmul_a @ Y @ C ) @ N @ ( polyno562434098cmul_a @ Y @ P ) ) ) ).

% poly_cmul.simps(2)
thf(fact_88_poly__cmul_Osimps_I2_J,axiom,
    ! [Y: nat,C: polyno1532895200ly_nat,N: nat,P: polyno1532895200ly_nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno720942678CN_nat @ C @ N @ P ) )
      = ( polyno720942678CN_nat @ ( polyno1467023772ul_nat @ Y @ C ) @ N @ ( polyno1467023772ul_nat @ Y @ P ) ) ) ).

% poly_cmul.simps(2)
thf(fact_89_polymul_Osimps_I17_J,axiom,
    ! [A: polyno1532895200ly_nat,V: nat] :
      ( ( polyno929799083ul_nat @ A @ ( polyno1999838549nd_nat @ V ) )
      = ( polyno1415441627ul_nat @ A @ ( polyno1999838549nd_nat @ V ) ) ) ).

% polymul.simps(17)
thf(fact_90_polymul_Osimps_I17_J,axiom,
    ! [A: polyno727731844poly_a,V: nat] :
      ( ( polyno1934269411ymul_a @ A @ ( polyno2024845497ound_a @ V ) )
      = ( polyno1491482291_Mul_a @ A @ ( polyno2024845497ound_a @ V ) ) ) ).

% polymul.simps(17)
thf(fact_91_polymul_Osimps_I5_J,axiom,
    ! [V: nat,B: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1999838549nd_nat @ V ) @ B )
      = ( polyno1415441627ul_nat @ ( polyno1999838549nd_nat @ V ) @ B ) ) ).

% polymul.simps(5)
thf(fact_92_polymul_Osimps_I5_J,axiom,
    ! [V: nat,B: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno2024845497ound_a @ V ) @ B )
      = ( polyno1491482291_Mul_a @ ( polyno2024845497ound_a @ V ) @ B ) ) ).

% polymul.simps(5)
thf(fact_93_poly__cmul_Osimps_I1_J,axiom,
    ! [Y: a,X: a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno439679028le_C_a @ X ) )
      = ( polyno439679028le_C_a @ ( times_times_a @ Y @ X ) ) ) ).

% poly_cmul.simps(1)
thf(fact_94_poly__cmul_Osimps_I1_J,axiom,
    ! [Y: nat,X: nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno2122022170_C_nat @ X ) )
      = ( polyno2122022170_C_nat @ ( times_times_nat @ Y @ X ) ) ) ).

% poly_cmul.simps(1)
thf(fact_95_one__normh,axiom,
    ! [N: nat] : ( polyno892049031yh_nat @ ( polyno2122022170_C_nat @ one_one_nat ) @ N ) ).

% one_normh
thf(fact_96_one__normh,axiom,
    ! [N: nat] : ( polyno1372495879olyh_a @ ( polyno439679028le_C_a @ one_one_a ) @ N ) ).

% one_normh
thf(fact_97_zero__normh,axiom,
    ! [N: nat] : ( polyno892049031yh_nat @ ( polyno2122022170_C_nat @ zero_zero_nat ) @ N ) ).

% zero_normh
thf(fact_98_zero__normh,axiom,
    ! [N: nat] : ( polyno1372495879olyh_a @ ( polyno439679028le_C_a @ zero_zero_a ) @ N ) ).

% zero_normh
thf(fact_99_isnpoly__def,axiom,
    ( polyno1013235523ly_nat
    = ( ^ [P2: polyno1532895200ly_nat] : ( polyno892049031yh_nat @ P2 @ zero_zero_nat ) ) ) ).

% isnpoly_def
thf(fact_100_isnpoly__def,axiom,
    ( polyno190918219poly_a
    = ( ^ [P2: polyno727731844poly_a] : ( polyno1372495879olyh_a @ P2 @ zero_zero_nat ) ) ) ).

% isnpoly_def
thf(fact_101_polymul_Osimps_I11_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat,Vc: nat] :
      ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1999838549nd_nat @ Vc ) )
      = ( polyno1415441627ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno1999838549nd_nat @ Vc ) ) ) ).

% polymul.simps(11)
thf(fact_102_polymul_Osimps_I11_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a,Vc: nat] :
      ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno2024845497ound_a @ Vc ) )
      = ( polyno1491482291_Mul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno2024845497ound_a @ Vc ) ) ) ).

% polymul.simps(11)
thf(fact_103_polymul_Osimps_I23_J,axiom,
    ! [Vc: nat,V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1999838549nd_nat @ Vc ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) )
      = ( polyno1415441627ul_nat @ ( polyno1999838549nd_nat @ Vc ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) ) ) ).

% polymul.simps(23)
thf(fact_104_polymul_Osimps_I23_J,axiom,
    ! [Vc: nat,V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno2024845497ound_a @ Vc ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) )
      = ( polyno1491482291_Mul_a @ ( polyno2024845497ound_a @ Vc ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) ) ) ).

% polymul.simps(23)
thf(fact_105_polymul_Osimps_I2_J,axiom,
    ! [C: a,C2: polyno727731844poly_a,N2: nat,P3: polyno727731844poly_a] :
      ( ( ( C = zero_zero_a )
       => ( ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ C ) @ ( polyno1057396216e_CN_a @ C2 @ N2 @ P3 ) )
          = ( polyno439679028le_C_a @ zero_zero_a ) ) )
      & ( ( C != zero_zero_a )
       => ( ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ C ) @ ( polyno1057396216e_CN_a @ C2 @ N2 @ P3 ) )
          = ( polyno1057396216e_CN_a @ ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ C ) @ C2 ) @ N2 @ ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ C ) @ P3 ) ) ) ) ) ).

% polymul.simps(2)
thf(fact_106_polymul_Osimps_I2_J,axiom,
    ! [C: nat,C2: polyno1532895200ly_nat,N2: nat,P3: polyno1532895200ly_nat] :
      ( ( ( C = zero_zero_nat )
       => ( ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ C ) @ ( polyno720942678CN_nat @ C2 @ N2 @ P3 ) )
          = ( polyno2122022170_C_nat @ zero_zero_nat ) ) )
      & ( ( C != zero_zero_nat )
       => ( ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ C ) @ ( polyno720942678CN_nat @ C2 @ N2 @ P3 ) )
          = ( polyno720942678CN_nat @ ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ C ) @ C2 ) @ N2 @ ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ C ) @ P3 ) ) ) ) ) ).

% polymul.simps(2)
thf(fact_107_mult__cancel__left1,axiom,
    ! [C: a,B: a] :
      ( ( C
        = ( times_times_a @ C @ B ) )
      = ( ( C = zero_zero_a )
        | ( B = one_one_a ) ) ) ).

% mult_cancel_left1
thf(fact_108_mult__cancel__left2,axiom,
    ! [C: a,A: a] :
      ( ( ( times_times_a @ C @ A )
        = C )
      = ( ( C = zero_zero_a )
        | ( A = one_one_a ) ) ) ).

% mult_cancel_left2
thf(fact_109_mult__cancel__right1,axiom,
    ! [C: a,B: a] :
      ( ( C
        = ( times_times_a @ B @ C ) )
      = ( ( C = zero_zero_a )
        | ( B = one_one_a ) ) ) ).

% mult_cancel_right1
thf(fact_110_mult__cancel__right2,axiom,
    ! [A: a,C: a] :
      ( ( ( times_times_a @ A @ C )
        = C )
      = ( ( C = zero_zero_a )
        | ( A = one_one_a ) ) ) ).

% mult_cancel_right2
thf(fact_111_mult_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.right_neutral
thf(fact_112_mult_Oright__neutral,axiom,
    ! [A: a] :
      ( ( times_times_a @ A @ one_one_a )
      = A ) ).

% mult.right_neutral
thf(fact_113_mult_Oleft__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% mult.left_neutral
thf(fact_114_mult_Oleft__neutral,axiom,
    ! [A: a] :
      ( ( times_times_a @ one_one_a @ A )
      = A ) ).

% mult.left_neutral
thf(fact_115_mult__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ( times_times_nat @ A @ C )
        = ( times_times_nat @ B @ C ) )
      = ( ( C = zero_zero_nat )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_116_mult__cancel__right,axiom,
    ! [A: a,C: a,B: a] :
      ( ( ( times_times_a @ A @ C )
        = ( times_times_a @ B @ C ) )
      = ( ( C = zero_zero_a )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_117_mult__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ( times_times_nat @ C @ A )
        = ( times_times_nat @ C @ B ) )
      = ( ( C = zero_zero_nat )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_118_mult__cancel__left,axiom,
    ! [C: a,A: a,B: a] :
      ( ( ( times_times_a @ C @ A )
        = ( times_times_a @ C @ B ) )
      = ( ( C = zero_zero_a )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_119_mult__zero__left,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% mult_zero_left
thf(fact_120_mult__zero__left,axiom,
    ! [A: a] :
      ( ( times_times_a @ zero_zero_a @ A )
      = zero_zero_a ) ).

% mult_zero_left
thf(fact_121_mult__zero__right,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_zero_right
thf(fact_122_mult__zero__right,axiom,
    ! [A: a] :
      ( ( times_times_a @ A @ zero_zero_a )
      = zero_zero_a ) ).

% mult_zero_right
thf(fact_123_mult__eq__0__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
        = zero_zero_nat )
      = ( ( A = zero_zero_nat )
        | ( B = zero_zero_nat ) ) ) ).

% mult_eq_0_iff
thf(fact_124_mult__eq__0__iff,axiom,
    ! [A: a,B: a] :
      ( ( ( times_times_a @ A @ B )
        = zero_zero_a )
      = ( ( A = zero_zero_a )
        | ( B = zero_zero_a ) ) ) ).

% mult_eq_0_iff
thf(fact_125_zero__reorient,axiom,
    ! [X: a] :
      ( ( zero_zero_a = X )
      = ( X = zero_zero_a ) ) ).

% zero_reorient
thf(fact_126_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_127_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_128_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ ( times_times_a @ A @ B ) @ C )
      = ( times_times_a @ A @ ( times_times_a @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_129_mult_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% mult.assoc
thf(fact_130_mult_Oassoc,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ ( times_times_a @ A @ B ) @ C )
      = ( times_times_a @ A @ ( times_times_a @ B @ C ) ) ) ).

% mult.assoc
thf(fact_131_mult_Ocommute,axiom,
    ( times_times_nat
    = ( ^ [A2: nat,B2: nat] : ( times_times_nat @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_132_mult_Ocommute,axiom,
    ( times_times_a
    = ( ^ [A2: a,B2: a] : ( times_times_a @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_133_mult_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( times_times_nat @ B @ ( times_times_nat @ A @ C ) )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_134_mult_Oleft__commute,axiom,
    ! [B: a,A: a,C: a] :
      ( ( times_times_a @ B @ ( times_times_a @ A @ C ) )
      = ( times_times_a @ A @ ( times_times_a @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_135_one__reorient,axiom,
    ! [X: a] :
      ( ( one_one_a = X )
      = ( X = one_one_a ) ) ).

% one_reorient
thf(fact_136_one__reorient,axiom,
    ! [X: nat] :
      ( ( one_one_nat = X )
      = ( X = one_one_nat ) ) ).

% one_reorient
thf(fact_137_mult__not__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
       != zero_zero_nat )
     => ( ( A != zero_zero_nat )
        & ( B != zero_zero_nat ) ) ) ).

% mult_not_zero
thf(fact_138_mult__not__zero,axiom,
    ! [A: a,B: a] :
      ( ( ( times_times_a @ A @ B )
       != zero_zero_a )
     => ( ( A != zero_zero_a )
        & ( B != zero_zero_a ) ) ) ).

% mult_not_zero
thf(fact_139_divisors__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
        = zero_zero_nat )
     => ( ( A = zero_zero_nat )
        | ( B = zero_zero_nat ) ) ) ).

% divisors_zero
thf(fact_140_divisors__zero,axiom,
    ! [A: a,B: a] :
      ( ( ( times_times_a @ A @ B )
        = zero_zero_a )
     => ( ( A = zero_zero_a )
        | ( B = zero_zero_a ) ) ) ).

% divisors_zero
thf(fact_141_no__zero__divisors,axiom,
    ! [A: nat,B: nat] :
      ( ( A != zero_zero_nat )
     => ( ( B != zero_zero_nat )
       => ( ( times_times_nat @ A @ B )
         != zero_zero_nat ) ) ) ).

% no_zero_divisors
thf(fact_142_no__zero__divisors,axiom,
    ! [A: a,B: a] :
      ( ( A != zero_zero_a )
     => ( ( B != zero_zero_a )
       => ( ( times_times_a @ A @ B )
         != zero_zero_a ) ) ) ).

% no_zero_divisors
thf(fact_143_mult__left__cancel,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ C @ A )
          = ( times_times_nat @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_144_mult__left__cancel,axiom,
    ! [C: a,A: a,B: a] :
      ( ( C != zero_zero_a )
     => ( ( ( times_times_a @ C @ A )
          = ( times_times_a @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_145_mult__right__cancel,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ A @ C )
          = ( times_times_nat @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_146_mult__right__cancel,axiom,
    ! [C: a,A: a,B: a] :
      ( ( C != zero_zero_a )
     => ( ( ( times_times_a @ A @ C )
          = ( times_times_a @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_147_zero__neq__one,axiom,
    zero_zero_a != one_one_a ).

% zero_neq_one
thf(fact_148_zero__neq__one,axiom,
    zero_zero_nat != one_one_nat ).

% zero_neq_one
thf(fact_149_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_150_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: a] :
      ( ( times_times_a @ one_one_a @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_151_mult_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.comm_neutral
thf(fact_152_mult_Ocomm__neutral,axiom,
    ! [A: a] :
      ( ( times_times_a @ A @ one_one_a )
      = A ) ).

% mult.comm_neutral
thf(fact_153_mult__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        | ( N = zero_zero_nat ) ) ) ).

% mult_is_0
thf(fact_154_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_155_mult__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K2 @ M )
        = ( times_times_nat @ K2 @ N ) )
      = ( ( M = N )
        | ( K2 = zero_zero_nat ) ) ) ).

% mult_cancel1
thf(fact_156_mult__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ( times_times_nat @ M @ K2 )
        = ( times_times_nat @ N @ K2 ) )
      = ( ( M = N )
        | ( K2 = zero_zero_nat ) ) ) ).

% mult_cancel2
thf(fact_157_shift1,axiom,
    ! [Bs2: list_a,P: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno784948432ift1_a @ P ) )
      = ( polyno422358502poly_a @ Bs2 @ ( polyno1491482291_Mul_a @ ( polyno2024845497ound_a @ zero_zero_nat ) @ P ) ) ) ).

% shift1
thf(fact_158_shift1__isnpolyh,axiom,
    ! [P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ P @ N0 )
     => ( ( P
         != ( polyno2122022170_C_nat @ zero_zero_nat ) )
       => ( polyno892049031yh_nat @ ( polyno1964927358t1_nat @ P ) @ zero_zero_nat ) ) ) ).

% shift1_isnpolyh
thf(fact_159_shift1__isnpolyh,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( P
         != ( polyno439679028le_C_a @ zero_zero_a ) )
       => ( polyno1372495879olyh_a @ ( polyno784948432ift1_a @ P ) @ zero_zero_nat ) ) ) ).

% shift1_isnpolyh
thf(fact_160_nat__mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = one_one_nat )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_mult_eq_1_iff
thf(fact_161_nat__1__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( one_one_nat
        = ( times_times_nat @ M @ N ) )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_1_eq_mult_iff
thf(fact_162_nat__mult__1__right,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ N @ one_one_nat )
      = N ) ).

% nat_mult_1_right
thf(fact_163_nat__mult__1,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ one_one_nat @ N )
      = N ) ).

% nat_mult_1
thf(fact_164_mult__eq__self__implies__10,axiom,
    ! [M: nat,N: nat] :
      ( ( M
        = ( times_times_nat @ M @ N ) )
     => ( ( N = one_one_nat )
        | ( M = zero_zero_nat ) ) ) ).

% mult_eq_self_implies_10
thf(fact_165_mult__0,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% mult_0
thf(fact_166_shift1__nz,axiom,
    ! [P: polyno727731844poly_a] :
      ( ( polyno784948432ift1_a @ P )
     != ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% shift1_nz
thf(fact_167_shift1__nz,axiom,
    ! [P: polyno1532895200ly_nat] :
      ( ( polyno1964927358t1_nat @ P )
     != ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% shift1_nz
thf(fact_168_shift1__isnpoly,axiom,
    ! [P: polyno1532895200ly_nat] :
      ( ( polyno1013235523ly_nat @ P )
     => ( ( P
         != ( polyno2122022170_C_nat @ zero_zero_nat ) )
       => ( polyno1013235523ly_nat @ ( polyno1964927358t1_nat @ P ) ) ) ) ).

% shift1_isnpoly
thf(fact_169_shift1__isnpoly,axiom,
    ! [P: polyno727731844poly_a] :
      ( ( polyno190918219poly_a @ P )
     => ( ( P
         != ( polyno439679028le_C_a @ zero_zero_a ) )
       => ( polyno190918219poly_a @ ( polyno784948432ift1_a @ P ) ) ) ) ).

% shift1_isnpoly
thf(fact_170_shift1__def,axiom,
    ( polyno784948432ift1_a
    = ( polyno1057396216e_CN_a @ ( polyno439679028le_C_a @ zero_zero_a ) @ zero_zero_nat ) ) ).

% shift1_def
thf(fact_171_shift1__def,axiom,
    ( polyno1964927358t1_nat
    = ( polyno720942678CN_nat @ ( polyno2122022170_C_nat @ zero_zero_nat ) @ zero_zero_nat ) ) ).

% shift1_def
thf(fact_172_nat__mult__eq__cancel__disj,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K2 @ M )
        = ( times_times_nat @ K2 @ N ) )
      = ( ( K2 = zero_zero_nat )
        | ( M = N ) ) ) ).

% nat_mult_eq_cancel_disj
thf(fact_173_headn__nz,axiom,
    ! [P: polyno1532895200ly_nat,N0: nat,M: nat] :
      ( ( polyno892049031yh_nat @ P @ N0 )
     => ( ( ( polyno544860353dn_nat @ P @ M )
          = ( polyno2122022170_C_nat @ zero_zero_nat ) )
        = ( P
          = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ) ) ).

% headn_nz
thf(fact_174_headn__nz,axiom,
    ! [P: polyno727731844poly_a,N0: nat,M: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( ( polyno567601229eadn_a @ P @ M )
          = ( polyno439679028le_C_a @ zero_zero_a ) )
        = ( P
          = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ).

% headn_nz
thf(fact_175_headconst__zero,axiom,
    ! [P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ P @ N0 )
     => ( ( ( polyno524777654st_nat @ P )
          = zero_zero_nat )
        = ( P
          = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ) ) ).

% headconst_zero
thf(fact_176_headconst__zero,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( ( polyno2115742616onst_a @ P )
          = zero_zero_a )
        = ( P
          = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ).

% headconst_zero
thf(fact_177_polysub__same__0,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1418491367ysub_a @ P @ P )
        = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ).

% polysub_same_0
thf(fact_178_polysubst0_Osimps_I8_J,axiom,
    ! [N: nat,T: polyno1532895200ly_nat,C: polyno1532895200ly_nat,P: polyno1532895200ly_nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( polyno336795754t0_nat @ T @ ( polyno720942678CN_nat @ C @ N @ P ) )
          = ( polyno1222032024dd_nat @ ( polyno336795754t0_nat @ T @ C ) @ ( polyno1415441627ul_nat @ T @ ( polyno336795754t0_nat @ T @ P ) ) ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( polyno336795754t0_nat @ T @ ( polyno720942678CN_nat @ C @ N @ P ) )
          = ( polyno720942678CN_nat @ ( polyno336795754t0_nat @ T @ C ) @ N @ ( polyno336795754t0_nat @ T @ P ) ) ) ) ) ).

% polysubst0.simps(8)
thf(fact_179_polysubst0_Osimps_I8_J,axiom,
    ! [N: nat,T: polyno727731844poly_a,C: polyno727731844poly_a,P: polyno727731844poly_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( polyno1397854436bst0_a @ T @ ( polyno1057396216e_CN_a @ C @ N @ P ) )
          = ( polyno1623170614_Add_a @ ( polyno1397854436bst0_a @ T @ C ) @ ( polyno1491482291_Mul_a @ T @ ( polyno1397854436bst0_a @ T @ P ) ) ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( polyno1397854436bst0_a @ T @ ( polyno1057396216e_CN_a @ C @ N @ P ) )
          = ( polyno1057396216e_CN_a @ ( polyno1397854436bst0_a @ T @ C ) @ N @ ( polyno1397854436bst0_a @ T @ P ) ) ) ) ) ).

% polysubst0.simps(8)
thf(fact_180_polysubst0_Osimps_I1_J,axiom,
    ! [T: polyno727731844poly_a,C: a] :
      ( ( polyno1397854436bst0_a @ T @ ( polyno439679028le_C_a @ C ) )
      = ( polyno439679028le_C_a @ C ) ) ).

% polysubst0.simps(1)
thf(fact_181_polysubst0_Osimps_I1_J,axiom,
    ! [T: polyno1532895200ly_nat,C: nat] :
      ( ( polyno336795754t0_nat @ T @ ( polyno2122022170_C_nat @ C ) )
      = ( polyno2122022170_C_nat @ C ) ) ).

% polysubst0.simps(1)
thf(fact_182_polysubst0_Osimps_I6_J,axiom,
    ! [T: polyno1532895200ly_nat,A: polyno1532895200ly_nat,B: polyno1532895200ly_nat] :
      ( ( polyno336795754t0_nat @ T @ ( polyno1415441627ul_nat @ A @ B ) )
      = ( polyno1415441627ul_nat @ ( polyno336795754t0_nat @ T @ A ) @ ( polyno336795754t0_nat @ T @ B ) ) ) ).

% polysubst0.simps(6)
thf(fact_183_polysubst0_Osimps_I6_J,axiom,
    ! [T: polyno727731844poly_a,A: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno1397854436bst0_a @ T @ ( polyno1491482291_Mul_a @ A @ B ) )
      = ( polyno1491482291_Mul_a @ ( polyno1397854436bst0_a @ T @ A ) @ ( polyno1397854436bst0_a @ T @ B ) ) ) ).

% polysubst0.simps(6)
thf(fact_184_polysubst0_Osimps_I4_J,axiom,
    ! [T: polyno727731844poly_a,A: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno1397854436bst0_a @ T @ ( polyno1623170614_Add_a @ A @ B ) )
      = ( polyno1623170614_Add_a @ ( polyno1397854436bst0_a @ T @ A ) @ ( polyno1397854436bst0_a @ T @ B ) ) ) ).

% polysubst0.simps(4)
thf(fact_185_polysubst0_Osimps_I4_J,axiom,
    ! [T: polyno1532895200ly_nat,A: polyno1532895200ly_nat,B: polyno1532895200ly_nat] :
      ( ( polyno336795754t0_nat @ T @ ( polyno1222032024dd_nat @ A @ B ) )
      = ( polyno1222032024dd_nat @ ( polyno336795754t0_nat @ T @ A ) @ ( polyno336795754t0_nat @ T @ B ) ) ) ).

% polysubst0.simps(4)
thf(fact_186_headn_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno567601229eadn_a @ ( polyno439679028le_C_a @ V ) )
      = ( ^ [M2: nat] : ( polyno439679028le_C_a @ V ) ) ) ).

% headn.simps(2)
thf(fact_187_headn_Osimps_I2_J,axiom,
    ! [V: nat] :
      ( ( polyno544860353dn_nat @ ( polyno2122022170_C_nat @ V ) )
      = ( ^ [M2: nat] : ( polyno2122022170_C_nat @ V ) ) ) ).

% headn.simps(2)
thf(fact_188_headn_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno544860353dn_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( ^ [M2: nat] : ( polyno1415441627ul_nat @ V @ Va ) ) ) ).

% headn.simps(6)
thf(fact_189_headn_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno567601229eadn_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( ^ [M2: nat] : ( polyno1491482291_Mul_a @ V @ Va ) ) ) ).

% headn.simps(6)
thf(fact_190_headn_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno567601229eadn_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( ^ [M2: nat] : ( polyno1623170614_Add_a @ V @ Va ) ) ) ).

% headn.simps(4)
thf(fact_191_headn_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno544860353dn_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( ^ [M2: nat] : ( polyno1222032024dd_nat @ V @ Va ) ) ) ).

% headn.simps(4)
thf(fact_192_headn_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno567601229eadn_a @ ( polyno2024845497ound_a @ V ) )
      = ( ^ [M2: nat] : ( polyno2024845497ound_a @ V ) ) ) ).

% headn.simps(3)
thf(fact_193_headn_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno544860353dn_nat @ ( polyno1999838549nd_nat @ V ) )
      = ( ^ [M2: nat] : ( polyno1999838549nd_nat @ V ) ) ) ).

% headn.simps(3)
thf(fact_194_wf__bs__polysub,axiom,
    ! [Bs2: list_a,P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno896877631f_bs_a @ Bs2 @ P )
     => ( ( polyno896877631f_bs_a @ Bs2 @ Q )
       => ( polyno896877631f_bs_a @ Bs2 @ ( polyno1418491367ysub_a @ P @ Q ) ) ) ) ).

% wf_bs_polysub
thf(fact_195_polysub__norm,axiom,
    ! [P: polyno727731844poly_a,Q: polyno727731844poly_a] :
      ( ( polyno190918219poly_a @ P )
     => ( ( polyno190918219poly_a @ Q )
       => ( polyno190918219poly_a @ ( polyno1418491367ysub_a @ P @ Q ) ) ) ) ).

% polysub_norm
thf(fact_196_headconst_Osimps_I1_J,axiom,
    ! [C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a] :
      ( ( polyno2115742616onst_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) )
      = ( polyno2115742616onst_a @ P ) ) ).

% headconst.simps(1)
thf(fact_197_headconst_Osimps_I1_J,axiom,
    ! [C: polyno1532895200ly_nat,N: nat,P: polyno1532895200ly_nat] :
      ( ( polyno524777654st_nat @ ( polyno720942678CN_nat @ C @ N @ P ) )
      = ( polyno524777654st_nat @ P ) ) ).

% headconst.simps(1)
thf(fact_198_headconst_Osimps_I2_J,axiom,
    ! [N: a] :
      ( ( polyno2115742616onst_a @ ( polyno439679028le_C_a @ N ) )
      = N ) ).

% headconst.simps(2)
thf(fact_199_headconst_Osimps_I2_J,axiom,
    ! [N: nat] :
      ( ( polyno524777654st_nat @ ( polyno2122022170_C_nat @ N ) )
      = N ) ).

% headconst.simps(2)
thf(fact_200_polysubst0_Osimps_I2_J,axiom,
    ! [N: nat,T: polyno727731844poly_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( polyno1397854436bst0_a @ T @ ( polyno2024845497ound_a @ N ) )
          = T ) )
      & ( ( N != zero_zero_nat )
       => ( ( polyno1397854436bst0_a @ T @ ( polyno2024845497ound_a @ N ) )
          = ( polyno2024845497ound_a @ N ) ) ) ) ).

% polysubst0.simps(2)
thf(fact_201_polysubst0_Osimps_I2_J,axiom,
    ! [N: nat,T: polyno1532895200ly_nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( polyno336795754t0_nat @ T @ ( polyno1999838549nd_nat @ N ) )
          = T ) )
      & ( ( N != zero_zero_nat )
       => ( ( polyno336795754t0_nat @ T @ ( polyno1999838549nd_nat @ N ) )
          = ( polyno1999838549nd_nat @ N ) ) ) ) ).

% polysubst0.simps(2)
thf(fact_202_polysub__0,axiom,
    ! [P: polyno727731844poly_a,N0: nat,Q: polyno727731844poly_a,N1: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( polyno1372495879olyh_a @ Q @ N1 )
       => ( ( ( polyno1418491367ysub_a @ P @ Q )
            = ( polyno439679028le_C_a @ zero_zero_a ) )
          = ( P = Q ) ) ) ) ).

% polysub_0
thf(fact_203_headnz,axiom,
    ! [P: polyno1532895200ly_nat,N: nat,M: nat] :
      ( ( polyno892049031yh_nat @ P @ N )
     => ( ( P
         != ( polyno2122022170_C_nat @ zero_zero_nat ) )
       => ( ( polyno544860353dn_nat @ P @ M )
         != ( polyno2122022170_C_nat @ zero_zero_nat ) ) ) ) ).

% headnz
thf(fact_204_headnz,axiom,
    ! [P: polyno727731844poly_a,N: nat,M: nat] :
      ( ( polyno1372495879olyh_a @ P @ N )
     => ( ( P
         != ( polyno439679028le_C_a @ zero_zero_a ) )
       => ( ( polyno567601229eadn_a @ P @ M )
         != ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ).

% headnz
thf(fact_205_degree__npolyhCN,axiom,
    ! [C: polyno1532895200ly_nat,N: nat,P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ ( polyno720942678CN_nat @ C @ N @ P ) @ N0 )
     => ( ( polyno220183259ee_nat @ C )
        = zero_zero_nat ) ) ).

% degree_npolyhCN
thf(fact_206_degree__npolyhCN,axiom,
    ! [C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) @ N0 )
     => ( ( polyno578545843gree_a @ C )
        = zero_zero_nat ) ) ).

% degree_npolyhCN
thf(fact_207_poly__deriv_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno212464073eriv_a @ ( polyno2024845497ound_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(3)
thf(fact_208_poly__deriv_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno212464073eriv_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(4)
thf(fact_209_poly__deriv_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno212464073eriv_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(6)
thf(fact_210_degree_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno578545843gree_a @ ( polyno439679028le_C_a @ V ) )
      = zero_zero_nat ) ).

% degree.simps(2)
thf(fact_211_degree_Osimps_I2_J,axiom,
    ! [V: nat] :
      ( ( polyno220183259ee_nat @ ( polyno2122022170_C_nat @ V ) )
      = zero_zero_nat ) ).

% degree.simps(2)
thf(fact_212_degree_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno220183259ee_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = zero_zero_nat ) ).

% degree.simps(6)
thf(fact_213_degree_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno578545843gree_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = zero_zero_nat ) ).

% degree.simps(6)
thf(fact_214_degree_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno578545843gree_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = zero_zero_nat ) ).

% degree.simps(4)
thf(fact_215_degree_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno220183259ee_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = zero_zero_nat ) ).

% degree.simps(4)
thf(fact_216_degree_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno578545843gree_a @ ( polyno2024845497ound_a @ V ) )
      = zero_zero_nat ) ).

% degree.simps(3)
thf(fact_217_degree_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno220183259ee_nat @ ( polyno1999838549nd_nat @ V ) )
      = zero_zero_nat ) ).

% degree.simps(3)
thf(fact_218_poly__deriv_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno212464073eriv_a @ ( polyno439679028le_C_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(2)
thf(fact_219_poly__deriv_Osimps_I1_J,axiom,
    ! [C: polyno727731844poly_a,P: polyno727731844poly_a] :
      ( ( polyno212464073eriv_a @ ( polyno1057396216e_CN_a @ C @ zero_zero_nat @ P ) )
      = ( polyno1006823949_aux_a @ one_one_a @ P ) ) ).

% poly_deriv.simps(1)
thf(fact_220_funpow__shift1__1,axiom,
    ! [Bs2: list_a,N: nat,P: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( compow1114216044poly_a @ N @ polyno784948432ift1_a @ P ) )
      = ( polyno422358502poly_a @ Bs2 @ ( polyno1934269411ymul_a @ ( compow1114216044poly_a @ N @ polyno784948432ift1_a @ ( polyno439679028le_C_a @ one_one_a ) ) @ P ) ) ) ).

% funpow_shift1_1
thf(fact_221_head__nz,axiom,
    ! [P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ P @ N0 )
     => ( ( ( polyno1952548879ad_nat @ P )
          = ( polyno2122022170_C_nat @ zero_zero_nat ) )
        = ( P
          = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ) ) ).

% head_nz
thf(fact_222_head__nz,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( ( ( polyno1884029055head_a @ P )
          = ( polyno439679028le_C_a @ zero_zero_a ) )
        = ( P
          = ( polyno439679028le_C_a @ zero_zero_a ) ) ) ) ).

% head_nz
thf(fact_223_degreen__npolyhCN,axiom,
    ! [C: polyno1532895200ly_nat,N: nat,P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ ( polyno720942678CN_nat @ C @ N @ P ) @ N0 )
     => ( ( polyno1779722485en_nat @ C @ N )
        = zero_zero_nat ) ) ).

% degreen_npolyhCN
thf(fact_224_degreen__npolyhCN,axiom,
    ! [C: polyno727731844poly_a,N: nat,P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ ( polyno1057396216e_CN_a @ C @ N @ P ) @ N0 )
     => ( ( polyno1674775833reen_a @ C @ N )
        = zero_zero_nat ) ) ).

% degreen_npolyhCN
thf(fact_225_funpow__0,axiom,
    ! [F: polyno727731844poly_a > polyno727731844poly_a,X: polyno727731844poly_a] :
      ( ( compow1114216044poly_a @ zero_zero_nat @ F @ X )
      = X ) ).

% funpow_0
thf(fact_226_funpow__0,axiom,
    ! [F: polyno1532895200ly_nat > polyno1532895200ly_nat,X: polyno1532895200ly_nat] :
      ( ( compow808008746ly_nat @ zero_zero_nat @ F @ X )
      = X ) ).

% funpow_0
thf(fact_227_funpow__swap1,axiom,
    ! [F: polyno727731844poly_a > polyno727731844poly_a,N: nat,X: polyno727731844poly_a] :
      ( ( F @ ( compow1114216044poly_a @ N @ F @ X ) )
      = ( compow1114216044poly_a @ N @ F @ ( F @ X ) ) ) ).

% funpow_swap1
thf(fact_228_funpow__swap1,axiom,
    ! [F: polyno1532895200ly_nat > polyno1532895200ly_nat,N: nat,X: polyno1532895200ly_nat] :
      ( ( F @ ( compow808008746ly_nat @ N @ F @ X ) )
      = ( compow808008746ly_nat @ N @ F @ ( F @ X ) ) ) ).

% funpow_swap1
thf(fact_229_funpow__isnpolyh,axiom,
    ! [N: nat,F: polyno1532895200ly_nat > polyno1532895200ly_nat,P: polyno1532895200ly_nat,K2: nat] :
      ( ! [P4: polyno1532895200ly_nat] :
          ( ( polyno892049031yh_nat @ P4 @ N )
         => ( polyno892049031yh_nat @ ( F @ P4 ) @ N ) )
     => ( ( polyno892049031yh_nat @ P @ N )
       => ( polyno892049031yh_nat @ ( compow808008746ly_nat @ K2 @ F @ P ) @ N ) ) ) ).

% funpow_isnpolyh
thf(fact_230_funpow__isnpolyh,axiom,
    ! [N: nat,F: polyno727731844poly_a > polyno727731844poly_a,P: polyno727731844poly_a,K2: nat] :
      ( ! [P4: polyno727731844poly_a] :
          ( ( polyno1372495879olyh_a @ P4 @ N )
         => ( polyno1372495879olyh_a @ ( F @ P4 ) @ N ) )
     => ( ( polyno1372495879olyh_a @ P @ N )
       => ( polyno1372495879olyh_a @ ( compow1114216044poly_a @ K2 @ F @ P ) @ N ) ) ) ).

% funpow_isnpolyh
thf(fact_231_funpow__mult,axiom,
    ! [N: nat,M: nat,F: polyno727731844poly_a > polyno727731844poly_a] :
      ( ( compow1114216044poly_a @ N @ ( compow1114216044poly_a @ M @ F ) )
      = ( compow1114216044poly_a @ ( times_times_nat @ M @ N ) @ F ) ) ).

% funpow_mult
thf(fact_232_funpow__mult,axiom,
    ! [N: nat,M: nat,F: polyno1532895200ly_nat > polyno1532895200ly_nat] :
      ( ( compow808008746ly_nat @ N @ ( compow808008746ly_nat @ M @ F ) )
      = ( compow808008746ly_nat @ ( times_times_nat @ M @ N ) @ F ) ) ).

% funpow_mult
thf(fact_233_head_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno1884029055head_a @ ( polyno439679028le_C_a @ V ) )
      = ( polyno439679028le_C_a @ V ) ) ).

% head.simps(2)
thf(fact_234_head_Osimps_I2_J,axiom,
    ! [V: nat] :
      ( ( polyno1952548879ad_nat @ ( polyno2122022170_C_nat @ V ) )
      = ( polyno2122022170_C_nat @ V ) ) ).

% head.simps(2)
thf(fact_235_head_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1952548879ad_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( polyno1415441627ul_nat @ V @ Va ) ) ).

% head.simps(6)
thf(fact_236_head_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1884029055head_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno1491482291_Mul_a @ V @ Va ) ) ).

% head.simps(6)
thf(fact_237_head_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1884029055head_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( polyno1623170614_Add_a @ V @ Va ) ) ).

% head.simps(4)
thf(fact_238_head_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1952548879ad_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( polyno1222032024dd_nat @ V @ Va ) ) ).

% head.simps(4)
thf(fact_239_head_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1884029055head_a @ ( polyno2024845497ound_a @ V ) )
      = ( polyno2024845497ound_a @ V ) ) ).

% head.simps(3)
thf(fact_240_head_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1952548879ad_nat @ ( polyno1999838549nd_nat @ V ) )
      = ( polyno1999838549nd_nat @ V ) ) ).

% head.simps(3)
thf(fact_241_head__isnpolyh,axiom,
    ! [P: polyno1532895200ly_nat,N0: nat] :
      ( ( polyno892049031yh_nat @ P @ N0 )
     => ( polyno892049031yh_nat @ ( polyno1952548879ad_nat @ P ) @ N0 ) ) ).

% head_isnpolyh
thf(fact_242_head__isnpolyh,axiom,
    ! [P: polyno727731844poly_a,N0: nat] :
      ( ( polyno1372495879olyh_a @ P @ N0 )
     => ( polyno1372495879olyh_a @ ( polyno1884029055head_a @ P ) @ N0 ) ) ).

% head_isnpolyh
thf(fact_243_degreen_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno1674775833reen_a @ ( polyno439679028le_C_a @ V ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(2)
thf(fact_244_degreen_Osimps_I2_J,axiom,
    ! [V: nat] :
      ( ( polyno1779722485en_nat @ ( polyno2122022170_C_nat @ V ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(2)
thf(fact_245_degreen_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1779722485en_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(6)
thf(fact_246_degreen_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1674775833reen_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(6)
thf(fact_247_degreen_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1674775833reen_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(4)
thf(fact_248_degreen_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1779722485en_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(4)
thf(fact_249_degreen_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1674775833reen_a @ ( polyno2024845497ound_a @ V ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(3)
thf(fact_250_degreen_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1779722485en_nat @ ( polyno1999838549nd_nat @ V ) )
      = ( ^ [M2: nat] : zero_zero_nat ) ) ).

% degreen.simps(3)
thf(fact_251_head_Osimps_I1_J,axiom,
    ! [C: polyno727731844poly_a,P: polyno727731844poly_a] :
      ( ( polyno1884029055head_a @ ( polyno1057396216e_CN_a @ C @ zero_zero_nat @ P ) )
      = ( polyno1884029055head_a @ P ) ) ).

% head.simps(1)
thf(fact_252_head_Osimps_I1_J,axiom,
    ! [C: polyno1532895200ly_nat,P: polyno1532895200ly_nat] :
      ( ( polyno1952548879ad_nat @ ( polyno720942678CN_nat @ C @ zero_zero_nat @ P ) )
      = ( polyno1952548879ad_nat @ P ) ) ).

% head.simps(1)
thf(fact_253_head__eq__headn0,axiom,
    ( polyno1884029055head_a
    = ( ^ [P2: polyno727731844poly_a] : ( polyno567601229eadn_a @ P2 @ zero_zero_nat ) ) ) ).

% head_eq_headn0
thf(fact_254_head__eq__headn0,axiom,
    ( polyno1952548879ad_nat
    = ( ^ [P2: polyno1532895200ly_nat] : ( polyno544860353dn_nat @ P2 @ zero_zero_nat ) ) ) ).

% head_eq_headn0
thf(fact_255_poly__deriv__aux_Osimps_I2_J,axiom,
    ! [N: a,V: a] :
      ( ( polyno1006823949_aux_a @ N @ ( polyno439679028le_C_a @ V ) )
      = ( polyno562434098cmul_a @ N @ ( polyno439679028le_C_a @ V ) ) ) ).

% poly_deriv_aux.simps(2)
thf(fact_256_poly__deriv__aux_Osimps_I6_J,axiom,
    ! [N: a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1006823949_aux_a @ N @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno562434098cmul_a @ N @ ( polyno1491482291_Mul_a @ V @ Va ) ) ) ).

% poly_deriv_aux.simps(6)
thf(fact_257_funpow__shift1__isnpoly,axiom,
    ! [P: polyno1532895200ly_nat,N: nat] :
      ( ( polyno1013235523ly_nat @ P )
     => ( ( P
         != ( polyno2122022170_C_nat @ zero_zero_nat ) )
       => ( polyno1013235523ly_nat @ ( compow808008746ly_nat @ N @ polyno1964927358t1_nat @ P ) ) ) ) ).

% funpow_shift1_isnpoly
thf(fact_258_funpow__shift1__isnpoly,axiom,
    ! [P: polyno727731844poly_a,N: nat] :
      ( ( polyno190918219poly_a @ P )
     => ( ( P
         != ( polyno439679028le_C_a @ zero_zero_a ) )
       => ( polyno190918219poly_a @ ( compow1114216044poly_a @ N @ polyno784948432ift1_a @ P ) ) ) ) ).

% funpow_shift1_isnpoly
thf(fact_259_funpow__shift1,axiom,
    ! [Bs2: list_a,N: nat,P: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( compow1114216044poly_a @ N @ polyno784948432ift1_a @ P ) )
      = ( polyno422358502poly_a @ Bs2 @ ( polyno1491482291_Mul_a @ ( polyno1538138524e_Pw_a @ ( polyno2024845497ound_a @ zero_zero_nat ) @ N ) @ P ) ) ) ).

% funpow_shift1
thf(fact_260_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_261_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_262_add__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_263_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_264_zero__eq__add__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X @ Y ) )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_265_add__eq__0__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( plus_plus_nat @ X @ Y )
        = zero_zero_nat )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_266_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_267_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_268_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_269_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_270_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_271_add_Oleft__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add.left_neutral
thf(fact_272_left__add__mult__distrib,axiom,
    ! [I: nat,U: nat,J: nat,K2: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ K2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ I @ J ) @ U ) @ K2 ) ) ).

% left_add_mult_distrib
thf(fact_273_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_274_add__eq__self__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = M )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_275_isnpolyh_Osimps_I8_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat] :
      ( ( polyno1372495879olyh_a @ ( polyno1538138524e_Pw_a @ V @ Va ) )
      = ( ^ [K: nat] : $false ) ) ).

% isnpolyh.simps(8)
thf(fact_276_add__mult__distrib2,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K2 @ ( plus_plus_nat @ M @ N ) )
      = ( plus_plus_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) ) ) ).

% add_mult_distrib2
thf(fact_277_add__mult__distrib,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ M @ N ) @ K2 )
      = ( plus_plus_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) ) ) ).

% add_mult_distrib
thf(fact_278_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_279_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( K2 = L ) )
     => ( ( plus_plus_nat @ I @ K2 )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_280_group__cancel_Oadd1,axiom,
    ! [A3: nat,K2: nat,A: nat,B: nat] :
      ( ( A3
        = ( plus_plus_nat @ K2 @ A ) )
     => ( ( plus_plus_nat @ A3 @ B )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_281_group__cancel_Oadd2,axiom,
    ! [B3: nat,K2: nat,B: nat,A: nat] :
      ( ( B3
        = ( plus_plus_nat @ K2 @ B ) )
     => ( ( plus_plus_nat @ A @ B3 )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_282_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_283_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A2: nat,B2: nat] : ( plus_plus_nat @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_284_add_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_285_add__left__imp__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_286_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_287_combine__common__factor,axiom,
    ! [A: nat,E: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ A @ E ) @ ( plus_plus_nat @ ( times_times_nat @ B @ E ) @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_288_combine__common__factor,axiom,
    ! [A: a,E: a,B: a,C: a] :
      ( ( plus_plus_a @ ( times_times_a @ A @ E ) @ ( plus_plus_a @ ( times_times_a @ B @ E ) @ C ) )
      = ( plus_plus_a @ ( times_times_a @ ( plus_plus_a @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_289_distrib__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ).

% distrib_right
thf(fact_290_distrib__right,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ ( plus_plus_a @ A @ B ) @ C )
      = ( plus_plus_a @ ( times_times_a @ A @ C ) @ ( times_times_a @ B @ C ) ) ) ).

% distrib_right
thf(fact_291_distrib__left,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ A @ ( plus_plus_nat @ B @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ A @ B ) @ ( times_times_nat @ A @ C ) ) ) ).

% distrib_left
thf(fact_292_distrib__left,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ A @ ( plus_plus_a @ B @ C ) )
      = ( plus_plus_a @ ( times_times_a @ A @ B ) @ ( times_times_a @ A @ C ) ) ) ).

% distrib_left
thf(fact_293_comm__semiring__class_Odistrib,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_294_comm__semiring__class_Odistrib,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ ( plus_plus_a @ A @ B ) @ C )
      = ( plus_plus_a @ ( times_times_a @ A @ C ) @ ( times_times_a @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_295_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ A @ ( plus_plus_a @ B @ C ) )
      = ( plus_plus_a @ ( times_times_a @ A @ B ) @ ( times_times_a @ A @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_296_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: a,B: a,C: a] :
      ( ( times_times_a @ ( plus_plus_a @ A @ B ) @ C )
      = ( plus_plus_a @ ( times_times_a @ A @ C ) @ ( times_times_a @ B @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_297_poly_Odistinct_I47_J,axiom,
    ! [X51: polyno727731844poly_a,X52: polyno727731844poly_a,X71: polyno727731844poly_a,X72: nat] :
      ( ( polyno1491482291_Mul_a @ X51 @ X52 )
     != ( polyno1538138524e_Pw_a @ X71 @ X72 ) ) ).

% poly.distinct(47)
thf(fact_298_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_299_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_300_poly_Odistinct_I11_J,axiom,
    ! [X1: a,X71: polyno727731844poly_a,X72: nat] :
      ( ( polyno439679028le_C_a @ X1 )
     != ( polyno1538138524e_Pw_a @ X71 @ X72 ) ) ).

% poly.distinct(11)
thf(fact_301_poly_Odistinct_I11_J,axiom,
    ! [X1: nat,X71: polyno1532895200ly_nat,X72: nat] :
      ( ( polyno2122022170_C_nat @ X1 )
     != ( polyno359287218Pw_nat @ X71 @ X72 ) ) ).

% poly.distinct(11)
thf(fact_302_polymul_Osimps_I22_J,axiom,
    ! [A: polyno1532895200ly_nat,V: polyno1532895200ly_nat,Va: nat] :
      ( ( polyno929799083ul_nat @ A @ ( polyno359287218Pw_nat @ V @ Va ) )
      = ( polyno1415441627ul_nat @ A @ ( polyno359287218Pw_nat @ V @ Va ) ) ) ).

% polymul.simps(22)
thf(fact_303_polymul_Osimps_I22_J,axiom,
    ! [A: polyno727731844poly_a,V: polyno727731844poly_a,Va: nat] :
      ( ( polyno1934269411ymul_a @ A @ ( polyno1538138524e_Pw_a @ V @ Va ) )
      = ( polyno1491482291_Mul_a @ A @ ( polyno1538138524e_Pw_a @ V @ Va ) ) ) ).

% polymul.simps(22)
thf(fact_304_polymul_Osimps_I10_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat,B: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno359287218Pw_nat @ V @ Va ) @ B )
      = ( polyno1415441627ul_nat @ ( polyno359287218Pw_nat @ V @ Va ) @ B ) ) ).

% polymul.simps(10)
thf(fact_305_polymul_Osimps_I10_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat,B: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1538138524e_Pw_a @ V @ Va ) @ B )
      = ( polyno1491482291_Mul_a @ ( polyno1538138524e_Pw_a @ V @ Va ) @ B ) ) ).

% polymul.simps(10)
thf(fact_306_Ipoly_Osimps_I4_J,axiom,
    ! [Bs2: list_a,A: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno422358502poly_a @ Bs2 @ ( polyno1623170614_Add_a @ A @ B ) )
      = ( plus_plus_a @ ( polyno422358502poly_a @ Bs2 @ A ) @ ( polyno422358502poly_a @ Bs2 @ B ) ) ) ).

% Ipoly.simps(4)
thf(fact_307_polymul_Osimps_I16_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat,Vc: polyno1532895200ly_nat,Vd: nat] :
      ( ( polyno929799083ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno359287218Pw_nat @ Vc @ Vd ) )
      = ( polyno1415441627ul_nat @ ( polyno720942678CN_nat @ V @ Va @ Vb ) @ ( polyno359287218Pw_nat @ Vc @ Vd ) ) ) ).

% polymul.simps(16)
thf(fact_308_polymul_Osimps_I16_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a,Vc: polyno727731844poly_a,Vd: nat] :
      ( ( polyno1934269411ymul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1538138524e_Pw_a @ Vc @ Vd ) )
      = ( polyno1491482291_Mul_a @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) @ ( polyno1538138524e_Pw_a @ Vc @ Vd ) ) ) ).

% polymul.simps(16)
thf(fact_309_polymul_Osimps_I28_J,axiom,
    ! [Vc: polyno1532895200ly_nat,Vd: nat,V: polyno1532895200ly_nat,Va: nat,Vb: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno359287218Pw_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) )
      = ( polyno1415441627ul_nat @ ( polyno359287218Pw_nat @ Vc @ Vd ) @ ( polyno720942678CN_nat @ V @ Va @ Vb ) ) ) ).

% polymul.simps(28)
thf(fact_310_polymul_Osimps_I28_J,axiom,
    ! [Vc: polyno727731844poly_a,Vd: nat,V: polyno727731844poly_a,Va: nat,Vb: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno1538138524e_Pw_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) )
      = ( polyno1491482291_Mul_a @ ( polyno1538138524e_Pw_a @ Vc @ Vd ) @ ( polyno1057396216e_CN_a @ V @ Va @ Vb ) ) ) ).

% polymul.simps(28)
thf(fact_311_poly__cmul_Osimps_I8_J,axiom,
    ! [Y: a,V: polyno727731844poly_a,Va: nat] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno1538138524e_Pw_a @ V @ Va ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno1538138524e_Pw_a @ V @ Va ) ) ) ).

% poly_cmul.simps(8)
thf(fact_312_poly__cmul_Osimps_I8_J,axiom,
    ! [Y: nat,V: polyno1532895200ly_nat,Va: nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno359287218Pw_nat @ V @ Va ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno359287218Pw_nat @ V @ Va ) ) ) ).

% poly_cmul.simps(8)
thf(fact_313_poly__deriv_Osimps_I8_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat] :
      ( ( polyno212464073eriv_a @ ( polyno1538138524e_Pw_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(8)
thf(fact_314_behead,axiom,
    ! [P: polyno727731844poly_a,N: nat,Bs2: list_a] :
      ( ( polyno1372495879olyh_a @ P @ N )
     => ( ( polyno422358502poly_a @ Bs2 @ ( polyno1623170614_Add_a @ ( polyno1491482291_Mul_a @ ( polyno1884029055head_a @ P ) @ ( polyno1538138524e_Pw_a @ ( polyno2024845497ound_a @ zero_zero_nat ) @ ( polyno578545843gree_a @ P ) ) ) @ ( polyno1465139388head_a @ P ) ) )
        = ( polyno422358502poly_a @ Bs2 @ P ) ) ) ).

% behead
thf(fact_315_behead__isnpolyh,axiom,
    ! [P: polyno727731844poly_a,N: nat] :
      ( ( polyno1372495879olyh_a @ P @ N )
     => ( polyno1372495879olyh_a @ ( polyno1465139388head_a @ P ) @ N ) ) ).

% behead_isnpolyh
thf(fact_316_behead_Osimps_I2_J,axiom,
    ! [V: a] :
      ( ( polyno1465139388head_a @ ( polyno439679028le_C_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(2)
thf(fact_317_behead_Osimps_I2_J,axiom,
    ! [V: nat] :
      ( ( polyno587244178ad_nat @ ( polyno2122022170_C_nat @ V ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(2)
thf(fact_318_behead_Osimps_I6_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno587244178ad_nat @ ( polyno1415441627ul_nat @ V @ Va ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(6)
thf(fact_319_behead_Osimps_I6_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1465139388head_a @ ( polyno1491482291_Mul_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(6)
thf(fact_320_behead_Osimps_I4_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1465139388head_a @ ( polyno1623170614_Add_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(4)
thf(fact_321_behead_Osimps_I4_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno587244178ad_nat @ ( polyno1222032024dd_nat @ V @ Va ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(4)
thf(fact_322_behead_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno1465139388head_a @ ( polyno2024845497ound_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(3)
thf(fact_323_behead_Osimps_I3_J,axiom,
    ! [V: nat] :
      ( ( polyno587244178ad_nat @ ( polyno1999838549nd_nat @ V ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(3)
thf(fact_324_behead_Osimps_I8_J,axiom,
    ! [V: polyno727731844poly_a,Va: nat] :
      ( ( polyno1465139388head_a @ ( polyno1538138524e_Pw_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(8)
thf(fact_325_behead_Osimps_I8_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: nat] :
      ( ( polyno587244178ad_nat @ ( polyno359287218Pw_nat @ V @ Va ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(8)
thf(fact_326_add__scale__eq__noteq,axiom,
    ! [R: nat,A: nat,B: nat,C: nat,D: nat] :
      ( ( R != zero_zero_nat )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_plus_nat @ A @ ( times_times_nat @ R @ C ) )
         != ( plus_plus_nat @ B @ ( times_times_nat @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_327_add__scale__eq__noteq,axiom,
    ! [R: a,A: a,B: a,C: a,D: a] :
      ( ( R != zero_zero_a )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_plus_a @ A @ ( times_times_a @ R @ C ) )
         != ( plus_plus_a @ B @ ( times_times_a @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_328_add__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B
        = ( plus_plus_nat @ B @ A ) )
      = ( A = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_329_crossproduct__noteq,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) )
       != ( plus_plus_nat @ ( times_times_nat @ A @ D ) @ ( times_times_nat @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_330_crossproduct__noteq,axiom,
    ! [A: a,B: a,C: a,D: a] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_plus_a @ ( times_times_a @ A @ C ) @ ( times_times_a @ B @ D ) )
       != ( plus_plus_a @ ( times_times_a @ A @ D ) @ ( times_times_a @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_331_crossproduct__eq,axiom,
    ! [W: nat,Y: nat,X: nat,Z: nat] :
      ( ( ( plus_plus_nat @ ( times_times_nat @ W @ Y ) @ ( times_times_nat @ X @ Z ) )
        = ( plus_plus_nat @ ( times_times_nat @ W @ Z ) @ ( times_times_nat @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_332_crossproduct__eq,axiom,
    ! [W: a,Y: a,X: a,Z: a] :
      ( ( ( plus_plus_a @ ( times_times_a @ W @ Y ) @ ( times_times_a @ X @ Z ) )
        = ( plus_plus_a @ ( times_times_a @ W @ Z ) @ ( times_times_a @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_333_Euclid__induct,axiom,
    ! [P5: nat > nat > $o,A: nat,B: nat] :
      ( ! [A4: nat,B4: nat] :
          ( ( P5 @ A4 @ B4 )
          = ( P5 @ B4 @ A4 ) )
     => ( ! [A4: nat] : ( P5 @ A4 @ zero_zero_nat )
       => ( ! [A4: nat,B4: nat] :
              ( ( P5 @ A4 @ B4 )
             => ( P5 @ A4 @ ( plus_plus_nat @ A4 @ B4 ) ) )
         => ( P5 @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_334_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_335_polypow_Osimps_I1_J,axiom,
    ( ( polyno1371724751ypow_a @ zero_zero_nat )
    = ( ^ [P2: polyno727731844poly_a] : ( polyno439679028le_C_a @ one_one_a ) ) ) ).

% polypow.simps(1)
thf(fact_336_polypow_Osimps_I1_J,axiom,
    ( ( polyno1510045887ow_nat @ zero_zero_nat )
    = ( ^ [P2: polyno1532895200ly_nat] : ( polyno2122022170_C_nat @ one_one_nat ) ) ) ).

% polypow.simps(1)
thf(fact_337_degreen_Oelims,axiom,
    ! [X: polyno1532895200ly_nat,Y: nat > nat] :
      ( ( ( polyno1779722485en_nat @ X )
        = Y )
     => ( ! [C3: polyno1532895200ly_nat,N3: nat,P4: polyno1532895200ly_nat] :
            ( ( X
              = ( polyno720942678CN_nat @ C3 @ N3 @ P4 ) )
           => ( Y
             != ( ^ [M2: nat] : ( if_nat @ ( N3 = M2 ) @ ( plus_plus_nat @ one_one_nat @ ( polyno1779722485en_nat @ P4 @ N3 ) ) @ zero_zero_nat ) ) ) )
       => ( ( ? [V2: nat] :
                ( X
                = ( polyno2122022170_C_nat @ V2 ) )
           => ( Y
             != ( ^ [M2: nat] : zero_zero_nat ) ) )
         => ( ( ? [V2: nat] :
                  ( X
                  = ( polyno1999838549nd_nat @ V2 ) )
             => ( Y
               != ( ^ [M2: nat] : zero_zero_nat ) ) )
           => ( ( ? [V2: polyno1532895200ly_nat,Va2: polyno1532895200ly_nat] :
                    ( X
                    = ( polyno1222032024dd_nat @ V2 @ Va2 ) )
               => ( Y
                 != ( ^ [M2: nat] : zero_zero_nat ) ) )
             => ( ( ? [V2: polyno1532895200ly_nat,Va2: polyno1532895200ly_nat] :
                      ( X
                      = ( polyno1921014231ub_nat @ V2 @ Va2 ) )
                 => ( Y
                   != ( ^ [M2: nat] : zero_zero_nat ) ) )
               => ( ( ? [V2: polyno1532895200ly_nat,Va2: polyno1532895200ly_nat] :
                        ( X
                        = ( polyno1415441627ul_nat @ V2 @ Va2 ) )
                   => ( Y
                     != ( ^ [M2: nat] : zero_zero_nat ) ) )
                 => ( ( ? [V2: polyno1532895200ly_nat] :
                          ( X
                          = ( polyno1366804583eg_nat @ V2 ) )
                     => ( Y
                       != ( ^ [M2: nat] : zero_zero_nat ) ) )
                   => ~ ( ? [V2: polyno1532895200ly_nat,Va2: nat] :
                            ( X
                            = ( polyno359287218Pw_nat @ V2 @ Va2 ) )
                       => ( Y
                         != ( ^ [M2: nat] : zero_zero_nat ) ) ) ) ) ) ) ) ) ) ) ).

% degreen.elims
thf(fact_338_degreen_Oelims,axiom,
    ! [X: polyno727731844poly_a,Y: nat > nat] :
      ( ( ( polyno1674775833reen_a @ X )
        = Y )
     => ( ! [C3: polyno727731844poly_a,N3: nat,P4: polyno727731844poly_a] :
            ( ( X
              = ( polyno1057396216e_CN_a @ C3 @ N3 @ P4 ) )
           => ( Y
             != ( ^ [M2: nat] : ( if_nat @ ( N3 = M2 ) @ ( plus_plus_nat @ one_one_nat @ ( polyno1674775833reen_a @ P4 @ N3 ) ) @ zero_zero_nat ) ) ) )
       => ( ( ? [V2: a] :
                ( X
                = ( polyno439679028le_C_a @ V2 ) )
           => ( Y
             != ( ^ [M2: nat] : zero_zero_nat ) ) )
         => ( ( ? [V2: nat] :
                  ( X
                  = ( polyno2024845497ound_a @ V2 ) )
             => ( Y
               != ( ^ [M2: nat] : zero_zero_nat ) ) )
           => ( ( ? [V2: polyno727731844poly_a,Va2: polyno727731844poly_a] :
                    ( X
                    = ( polyno1623170614_Add_a @ V2 @ Va2 ) )
               => ( Y
                 != ( ^ [M2: nat] : zero_zero_nat ) ) )
             => ( ( ? [V2: polyno727731844poly_a,Va2: polyno727731844poly_a] :
                      ( X
                      = ( polyno975704247_Sub_a @ V2 @ Va2 ) )
                 => ( Y
                   != ( ^ [M2: nat] : zero_zero_nat ) ) )
               => ( ( ? [V2: polyno727731844poly_a,Va2: polyno727731844poly_a] :
                        ( X
                        = ( polyno1491482291_Mul_a @ V2 @ Va2 ) )
                   => ( Y
                     != ( ^ [M2: nat] : zero_zero_nat ) ) )
                 => ( ( ? [V2: polyno727731844poly_a] :
                          ( X
                          = ( polyno96675367_Neg_a @ V2 ) )
                     => ( Y
                       != ( ^ [M2: nat] : zero_zero_nat ) ) )
                   => ~ ( ? [V2: polyno727731844poly_a,Va2: nat] :
                            ( X
                            = ( polyno1538138524e_Pw_a @ V2 @ Va2 ) )
                       => ( Y
                         != ( ^ [M2: nat] : zero_zero_nat ) ) ) ) ) ) ) ) ) ) ) ).

% degreen.elims
thf(fact_339_behead_Osimps_I5_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno1465139388head_a @ ( polyno975704247_Sub_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(5)
thf(fact_340_behead_Osimps_I5_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno587244178ad_nat @ ( polyno1921014231ub_nat @ V @ Va ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(5)
thf(fact_341_poly__cmul_Osimps_I5_J,axiom,
    ! [Y: a,V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno975704247_Sub_a @ V @ Va ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno975704247_Sub_a @ V @ Va ) ) ) ).

% poly_cmul.simps(5)
thf(fact_342_poly__cmul_Osimps_I5_J,axiom,
    ! [Y: nat,V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno1921014231ub_nat @ V @ Va ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno1921014231ub_nat @ V @ Va ) ) ) ).

% poly_cmul.simps(5)
thf(fact_343_behead_Osimps_I7_J,axiom,
    ! [V: polyno727731844poly_a] :
      ( ( polyno1465139388head_a @ ( polyno96675367_Neg_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% behead.simps(7)
thf(fact_344_behead_Osimps_I7_J,axiom,
    ! [V: polyno1532895200ly_nat] :
      ( ( polyno587244178ad_nat @ ( polyno1366804583eg_nat @ V ) )
      = ( polyno2122022170_C_nat @ zero_zero_nat ) ) ).

% behead.simps(7)
thf(fact_345_poly__cmul_Osimps_I7_J,axiom,
    ! [Y: a,V: polyno727731844poly_a] :
      ( ( polyno562434098cmul_a @ Y @ ( polyno96675367_Neg_a @ V ) )
      = ( polyno1934269411ymul_a @ ( polyno439679028le_C_a @ Y ) @ ( polyno96675367_Neg_a @ V ) ) ) ).

% poly_cmul.simps(7)
thf(fact_346_poly__cmul_Osimps_I7_J,axiom,
    ! [Y: nat,V: polyno1532895200ly_nat] :
      ( ( polyno1467023772ul_nat @ Y @ ( polyno1366804583eg_nat @ V ) )
      = ( polyno929799083ul_nat @ ( polyno2122022170_C_nat @ Y ) @ ( polyno1366804583eg_nat @ V ) ) ) ).

% poly_cmul.simps(7)
thf(fact_347_poly__deriv_Osimps_I5_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a] :
      ( ( polyno212464073eriv_a @ ( polyno975704247_Sub_a @ V @ Va ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(5)
thf(fact_348_poly__deriv_Osimps_I7_J,axiom,
    ! [V: polyno727731844poly_a] :
      ( ( polyno212464073eriv_a @ ( polyno96675367_Neg_a @ V ) )
      = ( polyno439679028le_C_a @ zero_zero_a ) ) ).

% poly_deriv.simps(7)
thf(fact_349_polypow__normh,axiom,
    ! [P: polyno727731844poly_a,N: nat,K2: nat] :
      ( ( polyno1372495879olyh_a @ P @ N )
     => ( polyno1372495879olyh_a @ ( polyno1371724751ypow_a @ K2 @ P ) @ N ) ) ).

% polypow_normh
thf(fact_350_polymul_Osimps_I7_J,axiom,
    ! [V: polyno1532895200ly_nat,Va: polyno1532895200ly_nat,B: polyno1532895200ly_nat] :
      ( ( polyno929799083ul_nat @ ( polyno1921014231ub_nat @ V @ Va ) @ B )
      = ( polyno1415441627ul_nat @ ( polyno1921014231ub_nat @ V @ Va ) @ B ) ) ).

% polymul.simps(7)
thf(fact_351_polymul_Osimps_I7_J,axiom,
    ! [V: polyno727731844poly_a,Va: polyno727731844poly_a,B: polyno727731844poly_a] :
      ( ( polyno1934269411ymul_a @ ( polyno975704247_Sub_a @ V @ Va ) @ B )
      = ( polyno1491482291_Mul_a @ ( polyno975704247_Sub_a @ V @ Va ) @ B ) ) ).

% polymul.simps(7)

% Helper facts (3)
thf(help_If_3_1_If_001t__Nat__Onat_T,axiom,
    ! [P5: $o] :
      ( ( P5 = $true )
      | ( P5 = $false ) ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $true @ X @ Y )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( polyno1934269411ymul_a @ p @ q )
    = ( polyno1934269411ymul_a @ q @ p ) ) ).

%------------------------------------------------------------------------------